﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using _4.Modelado.Seguridad;


namespace _3.Datos.Seguridad
{
     public class loginBD
    {
         public List<login> ConsultarLogin(SqlCommand comando, login obj, ref string mensaje)
         {
             try
             {
                 string sp = "usp_Login";

                 comando.CommandType = CommandType.StoredProcedure;
                 comando.CommandText = sp;
                 comando.Parameters.Clear();


                 comando.Parameters.Add(new SqlParameter("@Contrasena", SqlDbType.VarChar));
                 comando.Parameters.Add(new SqlParameter("@nombreUsuario", SqlDbType.VarChar));
                 comando.Parameters.Add(new SqlParameter("@MsjError", SqlDbType.VarChar,250));

                 comando.Parameters[0].Value = obj.password;
                 comando.Parameters[1].Value = obj.userName;
                 comando.Parameters[2].Direction = ParameterDirection.Output;


                 IDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                 var ds = new DataSet();
                 da.Fill(ds);

                 mensaje = comando.Parameters[2].Value.ToString();

                 if (ds.Tables.Count <= 0)
                     return null;

                 DataTable dt = ds.Tables[0];
                 var lista = new List<login>();

                 for (int i = 0; i < dt.Rows.Count; i++)
                 {
                     login log = new login();
                     log.Contrasena = dt.Rows[i]["UsContrasena"].ToString();
                     log.nombreUsuario = dt.Rows[i]["UsLogin"].ToString();
                     log.CodPerfil = Convert.ToInt32(dt.Rows[i]["PK_Usuario"].ToString());
                     log.CodUsuario = Convert.ToInt32(dt.Rows[i]["FK_Perfil_Usuario"]);
                     lista.Add(log);
                 }
                 return lista;
             }
             catch (Exception exc)
             {

                 throw exc;
             }
         }
    }
}
